//using System;
//using System.Collections.Generic;
//using Publicidades = PortalCurriculo.Publicidades;
//using PortalCurriculo.DAL.Linq;
//using System.Data.Linq;

//namespace PortalCurriculo.DAL.Publicidades
//{
//      public class FormaPagamento : IFormaPagamento
//      {
//         PortalCurriculoDataContext portalCurriculoDB = new PortalCurriculoDataContext();

//         #region FormaPagamento Members

//         public void Salvar(Publicidades.FormaPagamento formaPagamento)
//         {
//            ExecutarLinq(formaPagamento, Acao.INSERIR);
//         }

//         public void Alterar(Publicidades.FormaPagamento formaPagamento)
//         {
//            ExecutarLinq(formaPagamento, Acao.ALTERAR);
//         }

//         public Publicidades.FormaPagamento SelecionarPorCodigo(Publicidades.FormaPagamento formaPagamento)
//         {
//            return ConverterParaModel(SelecionarLinq(formaPagamento, Acao.RETORNAR_UNICO))[0];
//         }

//         public List<Publicidades.FormaPagamento> Selecionar(Publicidades.FormaPagamento formaPagamento)
//         {
//            return ConverterParaModel(SelecionarLinq(formaPagamento, Acao.LISTAR));
//         }

//         public void Inativar(Publicidades.FormaPagamento formaPagamento)
//         {
//            ExecutarLinq(formaPagamento, Acao.INATIVAR);
//         }

//         #endregion

//         private void ExecutarLinq(Publicidades.FormaPagamento formaPagamento, string acao)
//         {
//            portalCurriculoDB.pFormaPagamentoManipulacao(acao, formaPagamento.Codigo, formaPagamento.Descricao, 
//               formaPagamento.MinimoParcelas, formaPagamento.MaximoParcelas, formaPagamento.Imposto, 
//               formaPagamento.Desconto, formaPagamento.Ativo);
//         }

//         private ISingleResult<pFormaPagamentoManipulacaoResult> SelecionarLinq(Publicidades.FormaPagamento formaPagamento, string acao)
//         {
//            return portalCurriculoDB.pFormaPagamentoManipulacao(acao, formaPagamento.Codigo, formaPagamento.Descricao, 
//               formaPagamento.MinimoParcelas, formaPagamento.MaximoParcelas, formaPagamento.Imposto, 
//               formaPagamento.Desconto, formaPagamento.Ativo);
//         }

//         private List<Publicidades.FormaPagamento> ConverterParaModel(ISingleResult<pFormaPagamentoManipulacaoResult> resultFormaPagamento)
//         {
//            ISingleResult<pFormaPagamentoManipulacaoResult> result = resultFormaPagamento;
//            List<Publicidades.FormaPagamento> formaPagamentos = new List<Publicidades.FormaPagamento>();

//            foreach (pFormaPagamentoManipulacaoResult item in result)
//            {
//               Publicidades.FormaPagamento formaPagamento = new Publicidades.FormaPagamento()
//               {
//                  #region Dados FormaPagamento
//                  Codigo = (int)item.Codigo,
//                  Descricao = item.Descricao,
//                  MinimoParcelas = (decimal)item.MinimoParcelas,
//                  MaximoParcelas = (decimal)item.MaximoParcelas,
//                  Imposto = item.Imposto,
//                  Desconto = item.Desconto,
//                  Ativo = (bool)item.Ativo
//                  #endregion
//               };


//               formaPagamentos.Add(formaPagamento);
//            }

//            return formaPagamentos;
//         }
//      }
//}
